package screens
{
	import events.NavigationEvent;
	import objects.ChooseLevelItem.ChooseLevelListItem;
	import objects.Star_Effect;
	import starling.core.Starling;
	import starling.events.EnterFrameEvent;
	import com.greensock.plugins.TintPlugin;
	import feathers.controls.ScrollContainer;
	import feathers.layout.HorizontalLayout;
	import feathers.layout.VerticalLayout;
	import Loadtext.LoadText;
	import flash.display.Bitmap;
	import flash.display.Graphics;
	import flash.display.Loader;
	import flash.display.Shape;
	import flash.geom.Point;
	import flash.geom.Rectangle;
	import objects.Bartrack;
	import objects.BaseBuild;
	import objects.BaseBuild;
	import objects.Canon;
	import objects.Enemy;
	import objects.LoadEnemy;
	import objects.MyObject;
	import objects.Path;
	import objects.Solider;
	import objects.SoliderChinese;
	import objects.TestAnimation;
	import objects.Tower;
	import starling.animation.DelayedCall;
	import starling.display.Image;
	import starling.display.MovieClip;
	import starling.display.Quad;
	import starling.display.Sprite;
	import starling.events.Event;
	import starling.events.Touch;
	import starling.events.TouchEvent;
	import starling.events.TouchPhase;
	import starling.extensions.PDParticleSystem;
	import starling.filters.BlurFilter;
	import starling.filters.ColorMatrixFilter;
	import starling.text.TextField;
	import starling.textures.Texture;
	import starling.utils.VAlign;
	import starling.utils.HAlign;
	import Assets;
	import objects.ManagerObject;
	import objects.ManagerEffect;
	import objects.Road;
	
	/**
	 * ...
	 * @author Tuan
	 */
	public class ChooseLevel extends Sprite
	{
		public var m_pointTouch:Point;
		public var m_ImageButtonBack:Image;
		private var m_background1:Image;
		public var m_buttonZoomIn:Image;
		public var m_buttonZoomIn1:Image;
		public var m_test:Boolean = false;
		public var m_startPoint:Point;
		public var m_testInit:Boolean;
		public var m_movePoint:Point;
		private var m_listChooseLevel:Array;
		public var m_testStart:Boolean;
		public var m_listChooseItem:ChooseLevelListItem;
		
		public var m_SpriteText:Sprite;
		
		public var m_backText:MovieClip;
		public var m_textBaseGT:String;
		public var m_textShowGT:TextField;
		public var m_textBaseNV:String;
		public var m_textShowNV:TextField;
		public var m_textCountNV:int;
		public var m_textCountGT:int;
		
		public var m_nextButton:Image;
		public var m_textNext:TextField;
		
		public var m_backButton:Image;
		public var m_textBack:TextField;
		public var m_blend:Number;
		public var m_blendTest:Number;
		public var _textGioiThieu:TextField;
		public var _textNhiemVu:TextField;
		
		public var m_rung:int;
		
		public var m_rung1:int;
		public var m_rung2:int;
		public var m_rung3:int;
		public var m_rung4:int;
		public var m_button_Update:Image;
		public var m_text_Update:TextField;
		public function ChooseLevel()
		{
			this.addEventListener(starling.events.Event.ADDED_TO_STAGE, onAddedToStage);
			this.addEventListener(starling.events.Event.ENTER_FRAME, update);
			this.addEventListener(TouchEvent.TOUCH, onTouch);
			super();
		
		}
		
		private function onTouch(e:TouchEvent):void
		{
			var touch:Touch = e.getTouch(stage);
			if (touch && m_testStart == true)
			{
				var m_touchPoint:Point = new Point(touch.globalX, touch.globalY);
				if (touch.phase == TouchPhase.BEGAN)
				{
					if (m_button_Update.bounds.containsPoint(new Point(touch.globalX, touch.globalY))==true)
					{
						this.dispatchEvent(new NavigationEvent(NavigationEvent.CHANGE_SCREEN, { id:"ChooseLevel-UpdateStar" }, true));
						if (database.instance.m_testPlaySound == true)
							database.instance.m_Sound.playSound("Sound_Click");
					}
					if (m_nextButton.bounds.containsPoint(m_touchPoint) == true)
					{
						this.dispatchEvent(new NavigationEvent(NavigationEvent.CHANGE_SCREEN, {id: "ChooseLevel-GamePlay"}, true));
						if (database.instance.m_testPlaySound == true)
							database.instance.m_Sound.playSound("Sound_Click");
					}
					if (m_backButton.bounds.containsPoint(m_touchPoint) == true)
					{
						HidrenInfo();
						if (database.instance.m_testPlaySound == true)
							database.instance.m_Sound.playSound("Sound_Click");
					}
					if (m_ImageButtonBack.bounds.containsPoint(m_touchPoint) == true)
					{
						this.dispatchEvent(new NavigationEvent(NavigationEvent.CHANGE_SCREEN, {id: "ChooseLevel-ChooseStage"}, true));
						if (database.instance.m_testPlaySound == true)
							database.instance.m_Sound.playSound("Sound_Click");
					}
					
				}
				else if (touch.phase == TouchPhase.HOVER)
				{
					if (m_nextButton.bounds.containsPoint(m_touchPoint) == true)
					{
						m_nextButton.filter = BlurFilter.createDropShadow(0, 0, 0xff0000, 1, 1, 0.5);
					}
					else
						m_nextButton.filter = null;
					
					if (m_backButton.bounds.containsPoint(m_touchPoint) == true)
					{
						m_backButton.filter = BlurFilter.createDropShadow(0, 0, 0xff0000, 1, 1, 0.5);
					}
					else
						m_backButton.filter = null;
					if (m_ImageButtonBack.bounds.containsPoint(m_touchPoint) == true)
					{
						m_ImageButtonBack.filter = BlurFilter.createDropShadow(0, 0, 0xffffff, 1, 1, 0.5);
					}
					else
						m_ImageButtonBack.filter = null;
					if (m_button_Update.bounds.containsPoint(new Point(touch.globalX, touch.globalY)) == true)
					{
						m_button_Update.filter = BlurFilter.createDropShadow(0, 0, 0xffffff, 1, 1, 0.5);
					}
					else
						m_button_Update.filter = null; 
					
				}
			}
		}
		
		public function Init():void
		{
			ManagerEffect.instance.m_layer = this;
			m_rung = 5;
			m_rung1 = 5;
			m_rung2 = 5;
			m_rung3 = 5;
			m_rung4 = 5;
			m_SpriteText = new Sprite();
			if (m_listChooseItem != null)
			{
				this.removeChild(m_listChooseItem);
				m_listChooseItem = null;
			}
			m_background1 = new Image(Assets.getTexture("background6"));
			m_ImageButtonBack = new Image(Assets.getTexture("CHUAHOANTHANH"));
			m_listChooseLevel = new Array();
			m_listChooseItem = new ChooseLevelListItem(this, new Point(1050 / 2, 700 / 2));
			this.addChild(m_SpriteText);
			m_backText = new MovieClip(Assets.getSpriteBook().getTextures("sachcuon_"), 20);
			Starling.juggler.add(m_backText);
			m_SpriteText.addChild(m_backText);
			m_backText.pivotX = m_backText.width / 2;
			m_backText.pivotY = m_backText.height / 2;
			
			m_backText.x = 1050 / 2;
			m_backText.y = 700 / 2;
			
			m_nextButton = new Image(Assets.getTexture("Khung"));
			m_backButton = new Image(Assets.getTexture("Khung"));
			m_textNext = new TextField(500, 50, "Tham chiến", "MyFontName", 25, 0x332616);
			m_textBack = new TextField(500, 50, "Bỏ", "MyFontName", 25, 0x332616);
			
			m_ImageButtonBack.pivotX = m_ImageButtonBack.width / 2;
			m_ImageButtonBack.pivotY = m_ImageButtonBack.height / 2;
			m_ImageButtonBack.width = 50;
			m_ImageButtonBack.height = 50;
			m_ImageButtonBack.x = 1025;
			m_ImageButtonBack.y = 25;
			
			m_nextButton.pivotX = m_nextButton.width / 2;
			m_nextButton.pivotY = m_nextButton.height / 2;
			m_nextButton.x = 750;
			m_nextButton.y = 520;
			setCenterPivot(m_textNext);
			m_textNext.x = m_nextButton.x;
			m_textNext.y = m_nextButton.y;
			
			m_backButton.pivotX = m_backButton.width / 2;
			m_backButton.pivotY = m_backButton.height / 2;
			m_backButton.x = 300;
			m_backButton.y = 520;
			setCenterPivot(m_textBack);
			m_textBack.x = m_backButton.x;
			m_textBack.y = m_backButton.y;
			
			m_textShowGT = new TextField(300, 450, "", "MyFontName", 20, 0x332616);
			m_textShowGT.hAlign = "left";
			m_textShowGT.vAlign = "top";
			m_textShowGT.x = m_backText.x - 350;
			m_textShowGT.y = m_backText.y - 100;
			
			m_textShowNV = new TextField(300, 450, "", "MyFontName", 20, 0x332616);
			m_textShowNV.hAlign = "left";
			m_textShowNV.vAlign = "top";
			m_textShowNV.x = m_backText.x + 50;
			m_textShowNV.y = m_backText.y - 100;
			
			m_button_Update = new Image(Assets.getTexture("Chon"));
			setCenterPivot(m_button_Update);
			setPos(m_button_Update, 900, 650);
			this.addChild(m_button_Update);
			m_text_Update=new TextField(250, 50, "", "MyFontName", 30, 0x332616);
			m_text_Update.text = "Nâng cấp";
			setCenterPivot(m_text_Update);
			setPos(m_text_Update, m_button_Update.x, m_button_Update.y);
			this.addChild(m_text_Update);
			
			_textGioiThieu = new TextField(500, 50, "Giới thiệu", "MyFontName", 30, 0x332616);
			_textNhiemVu = new TextField(500, 50, "Nhiệm Vụ", "MyFontName", 30, 0x332616);
			_textGioiThieu.hAlign = "left";
			_textGioiThieu.vAlign = "top";
			_textNhiemVu.hAlign = "left";
			_textNhiemVu.vAlign = "top";
			_textGioiThieu.x = m_backText.x - 250;
			_textGioiThieu.y = m_backText.y - 150;
			
			_textNhiemVu.x = m_backText.x + 140;
			_textNhiemVu.y = m_backText.y - 150;
			
			m_SpriteText.addChild(m_textShowGT);
			m_SpriteText.addChild(m_textShowNV);
			m_SpriteText.addChild(m_nextButton);
			m_SpriteText.addChild(m_backButton);
			m_SpriteText.addChild(m_textNext);
			m_SpriteText.addChild(m_textBack);
			m_SpriteText.addChild(_textGioiThieu);
			m_SpriteText.addChild(_textNhiemVu);
			
			m_SpriteText.visible = false;
			m_nextButton.scaleX = 0;
			m_nextButton.scaleY = 0;
			
			m_backButton.scaleX = 0;
			m_backButton.scaleY = 0;
			
			m_textBack.scaleX = 0;
			m_textBack.scaleY = 0;
			
			m_textNext.scaleX = 0;
			m_textNext.scaleY = 0;
			
			switch (database.instance.m_curStage)
			{
				case 0: 
					m_listChooseItem.m_cicleItem.m_baseItem[database.instance.RESULTSTARSTAGE1[0]].alpha = 0;
					break;
			}
			this.addChild(m_ImageButtonBack);
			//this.addChild(m_background1);
			if (database.instance.m_testPlayMusic == true)
				database.instance.m_Music.playSound("ChooseLevel_Music", 1.0, 999);
		}
		public function setPos(_object:Object,_x:int,_y:int):void
		{	
			_object.x = _x;
			_object.y = _y;
		}
		public function ShowInfo(_indext:int):void
		{
			switch (database.instance.m_curStage)
			{
				case 0: 
					switch (_indext)
				{
					case 0: 
						m_textCountGT = 0;
						m_textShowGT.text = "";
						m_textBaseGT = "Đinh Bộ Lĩnh là con Đinh Công Trứ làm quan ở Hoan Châu.\nĐầu tiên ông mở rộng căn cứ của mình từ vùng rừng núi Hoa Lư ra vùng đồng bằng ven biển sông Hồng. Sau đó ông được Trần Minh Công trao binh quyền, đưa quân về Hoa Lư, chiêu mộ binh lính, chống nhà Ngô và các sứ quân khác.";
						
						m_textCountNV = 0;
						m_textShowNV.text = "";
						m_textBaseNV = "- Học hỏi binh pháp của Trần Lãm để tiếp quản quân đội.\n- Chiến thắng trận chiến đầu tiên.";
						break;
					case 1: 
						m_textCountGT = 0;
						m_textShowGT.text = "";
						m_textBaseGT = "Căn cứ vào chính sử và các nguồn tài liệu của các nhà nghiên cứu thì các sứ quân Lã Đường được xác định là lực lượng tự tan rã, không rõ kết cục của chủ tướng";
						
						m_textCountNV = 0;
						m_textShowNV.text = "";
						m_textBaseNV = "Đánh tan rã sứ quân Lã Đường";
						break;
					case 2: 
						m_textCountGT = 0;
						m_textShowGT.text = "";
						m_textBaseGT = "Mở đầu sự nghiệp dẹp loạn, Đinh Bộ Lĩnh đã đánh đám loạn thần Lữ Xử Bình và Kiều Tri Hựu ở triều đình Cổ Loa. Sứ quân Phạm Bạch Hổ (Hưng Yên) tự nguyện về quy phục.";
						
						m_textCountNV = 0;
						m_textShowNV.text = "";
						m_textBaseNV = "Chiến thắng quân Phạm Bạch hổ, thuyết phục quy thuận";
						break;
					case 3: 
						m_textCountGT = 0;
						m_textShowGT.text = "";
						m_textBaseGT = "Theo thần tích ở xã Bình Sơn (Thuận Thành, Bắc Ninh) thì Lý Khuê đánh nhau với Đinh Bộ Lĩnh bị thua và mất ở làng Dương Xá.";
						
						m_textCountNV = 0;
						m_textShowNV.text = "";
						m_textBaseNV = "Đánh tan quân Lý Khuê";
						break;
					case 4: 
						m_textCountGT = 0;
						m_textShowGT.text = "";
						m_textBaseGT = "Theo thần tích làng Tiên Xá thì Nguyễn Thủ Tiệp ở Tiên Du cũng không chống nổi Đinh Bộ Lĩnh, bỏ chạy về Cần Hải (Cửa Cồn, Quỳnh Lưu, Nghệ An) đánh nhau vài trận rồi chết ở trang Hương Ái.";
						
						m_textCountNV = 0;
						m_textShowNV.text = "";
						m_textBaseNV = "Đánh tan quân Nguyễn Thủ Tiệp";
						break;
					case 5: 
						m_textCountGT = 0;
						m_textShowGT.text = "";
						m_textBaseGT = "Căn cứ vào chính sử và các nguồn tài liệu của các nhà nghiên cứu thì các sứ quân Nguyễn Khoan được xác định là lực lượng tự tan rã, không rõ kết cục của chủ tướng";
						
						m_textCountNV = 0;
						m_textShowNV.text = "";
						m_textBaseNV = "Đánh bại tàn quân của Nguyễn Khoan";
						break;
					case 6: 
						m_textCountGT = 0;
						m_textShowGT.text = "";
						m_textBaseGT = "Sau khi Đinh Bộ Lĩnh đã đánh đám loạn thần Lữ Xử Bình và Kiều Tri Hựu ở triều đình Cổ Loa, đối với sứ quân họ Ngô là Ngô Nhật Khánh (Hà Nội), Đinh Bộ Lĩnh không tiêu diệt mà dùng kế dụ hàng.";
						
						m_textCountNV = 0;
						m_textShowNV.text = "";
						m_textBaseNV = "Khiến Ngô Nhật Khánh phải quy hàng";
						break;
					case 7: 
						m_textCountGT = 0;
						m_textShowGT.text = "";
						m_textBaseGT = "Sứ quân Kiều Công Hãn đóng tại Phong Châu. Trước thế mạnh của sứ quân Đinh Bộ Lĩnh, Kiều Công Hãn đem quân xuống phía nam để hợp sức với Ngô Xương Xí. Khi đến thôn Vạn Diệp (Xã Nam Phong, Nam Trực, Nam Định) bị một hào trưởng địa phương là Nguyễn Tấn đem quân chặn đánh, Kiều Công Hãn bị thương chạy đến Lũng Kiều thì mất.";
						
						m_textCountNV = 0;
						m_textShowNV.text = "";
						m_textBaseNV = "Đánh tan bại quân của Kiều Công Hãn";
						break;
					case 8: 
						m_textCountGT = 0;
						m_textShowGT.text = "";
						m_textBaseGT = "Không rõ Kiều Thuận bị Đinh Bộ Lĩnh dẹp khi nào. Sử sách chỉ ghi loạn 12 sứ quân chấm dứt năm 968. Theo sách Nhà Đinh dẹp loạn và dựng nước, Kiều Thuận trong số các sứ quân bị tiêu diệt và bị giết chứ không thuộc số các sứ quân về hàng hoặc quy thuận Đinh Bộ Lĩnh.";
						
						m_textCountNV = 0;
						m_textShowNV.text = "";
						m_textBaseNV = "Đánh bại cuộc tấn công của Kiều Thuận";
						break;
					case 9: 
						m_textCountGT = 0;
						m_textShowGT.text = "";
						m_textBaseGT = "Sứ quân Đỗ Cảnh Thạc là một sứ quân mạnh, có thành cao hào sâu. \nTheo thần phả Độc nhĩ đại vương ở Thanh Oai, Đỗ Cảnh Thạc là người trí dũng mưu lược, Đinh Bộ Lĩnh phải bàn mưu tính kế mà đánh. \nBan đêm, Đinh Bộ Lĩnh cho quân bao vây 4 mặt thành và tiến đánh bất ngờ vào Trại Quyền. \nBấy giờ Đỗ Cảnh Thạc đang ở đồn Bảo Đà, quân tướng không ứng cứu được nhau, bị mất cả thành luỹ, đồn trại, lương thực bèn bỏ thành chạy. \nHai bên giao tranh hơn một năm sau, Đinh Bộ Lĩnh hạ được thành. Đỗ Cảnh Thạc bị trúng tên chết.";
						
						m_textCountNV = 0;
						m_textShowNV.text = "";
						m_textBaseNV = "Đỗ Cảnh Thạc rất mưu trí, hãy đánh tan cuộc tập kích của địch";
						break;
					case 10: 
						m_textCountGT = 0;
						m_textShowGT.text = "";
						m_textBaseGT = "Sứ quân Nguyễn Siêu chiếm Tây Phù Liệt (Thanh Trì, Hà Nội). Trong trận giao tranh đầu tiên Đinh Bộ Lĩnh bị mất 4 tướng là Nguyễn Bồ, Nguyễn Phục, Đinh Thiết và Cao Sơn. Lần thứ 2 Đinh Bộ Lĩnh bày binh bố trận giao chiến. Quân Nguyễn Siêu tan. Nguyễn Siêu tử trận.";
						
						m_textCountNV = 0;
						m_textShowNV.text = "";
						m_textBaseNV = "Đánh tan cuộc tấn công của Nguyễn Siêu";
						break;
					case 11: 
						m_textCountGT = 0;
						m_textShowGT.text = "";
						m_textBaseGT = "Sau khi Đinh Bộ Lĩnh đã đánh đám loạn thần Lữ Xử Bình và Kiều Tri Hựu ở triều đình Cổ Loa, đối với sứ quân họ Ngô là Ngô Xương Xí (Thanh Hóa), Đinh Bộ Lĩnh không tiêu diệt mà dùng kế dụ hàng.";
						
						m_textCountNV = 0;
						m_textShowNV.text = "";
						m_textBaseNV = "Đánh bại cuộc tấn công của Ngô Xương Xí";
						break;
				}
					break;
				//////////////	
				case 1: 
					switch (_indext)
				{
					case 0: 
						m_textCountGT = 0;
						m_textShowGT.text = "";
						m_textBaseGT = "Bộ binh nhà Tống định tập kết ở Ung Châu rồi theo nhiều đường qua vùng Đông Bắc nước ta tiến vào Thăng Long. Sát biên giới phía bắc, Lưu Kỷ cùng 5.000 quân người thiểu số đóng ở Quảng Nguyên đón đánh đạo quân địch từ Ôn Châu tiến vào Cao Bằng.";
						
						m_textCountNV = 0;
						m_textShowNV.text = "";
						m_textBaseNV = "Chống lại cuộc tấn công của quân địch, chặn đứng được bước tiến của các đạo quân Tống";
						break;
					case 1: 
						m_textCountGT = 0;
						m_textShowGT.text = "";
						m_textBaseGT = "Dưới Quảng Nguyên, trên đường Cao Bằng, Thái Nguyên, một vạn quân đóng ở hai động Cổ Lộng, Hạ Liên (vùng Ngân Sơn, Bắc Cạn) làm nhiệm vụ ngăn chặn đường tiếp tế uy hiếp vùng sau lưng địch.";
						
						m_textCountNV = 0;
						m_textShowNV.text = "";
						m_textBaseNV = "Chống lại cuộc tấn công của quân địch, ngăn chúng tiếp tế quân lương";
						break;
					case 2: 
						m_textCountGT = 0;
						m_textShowGT.text = "";
						m_textBaseGT = "Phía Tây Thân Cảnh Phúc, các tù trưởng Sầm Khánh Tân, Nùng Thuận Linh, Hoàng Kim Mãn trấn giữ vùng Môn Châu (Đông Khê) và ngăn chặn con đường từ Bình Gia đến Thái Nguyên.";
						
						m_textCountNV = 0;
						m_textShowNV.text = "";
						m_textBaseNV = "Ngăn chặn không cho định về Thái Nguyên";
						break;
					case 3: 
						m_textCountGT = 0;
						m_textShowGT.text = "";
						m_textBaseGT = "Phò mã Thân Cảnh Phúc, đóng quân ở động Giáp trên con đường chính qua Lạng Sơn vào Thăng Long. Con đường này tuy gần nhưng qua nhiều chỗ hiểm yếu, nhất là đèo Quyết Lý và ải Giáp Khẩu. Đạo quân của Thân Cảnh Phúc lợi dụng các vị trí hiểm yếu đó để chặn đánh mũi tiến công chủ yếu của địch theo con đường chính";
						
						m_textCountNV = 0;
						m_textShowNV.text = "";
						m_textBaseNV = "Chống lại cuộc tấn công của quân địch, chặn đứng được bước tiến của các đạo quân Tống";
						break;
					case 4: 
						m_textCountGT = 0;
						m_textShowGT.text = "";
						m_textBaseGT = "Phía đông Thân Cảnh Phúc, Vi Thu An trấn giữ châu Tô Mậu và ngăn chặn con đường từ Tư Lăng đến Lạng Châu. Đồng thời, ông còn có nhiệm vụ chỉ huy một đạo quân chặn thủy quân của địch từ Quảng Đông tiến xuống.";
						
						m_textCountNV = 0;
						m_textShowNV.text = "";
						m_textBaseNV = "Chống lại cuộc tấn công của quân địch, chặn đứng được bước tiến của các đạo quân Tống";
						break;
					case 5: 
						m_textCountGT = 0;
						m_textShowGT.text = "";
						m_textBaseGT = "Trên chiến tuyến, một bộ phận bộ binh đóng thành từng trại quân ở những vị trí xung yếu mà quân địch có thể vượt sông tiến công nhằm chọc thủng chiến tuyến của ta.Trại quân Như Nguyệt khống chế hai bến đò ngang và con đường tiến về Thăng Long";
						
						m_textCountNV = 0;
						m_textShowNV.text = "";
						m_textBaseNV = "Không cho quân địch vượt sông về Thăng Long";
						break;
					case 6: 
						m_textCountGT = 0;
						m_textShowGT.text = "";
						m_textBaseGT = "Quân chủ lực do Lý Thường Kiệt trực tiếp chỉ huy, bảo vệ chiến tuyến sông Như Nguyệt. Lý Thường Kiệt không dàn mỏng lực lượng trên chiến tuyến kéo dài đó mà bố trí binh lực có trọng điểm. Bến Thị Cầu khống chế hai bến đò ngang và con đường tiến về Thăng Long";
						
						m_textCountNV = 0;
						m_textShowNV.text = "";
						m_textBaseNV = "Tăng cường  phòng vệ cùng với bến Như Nguyệt, chặn đường tấn công của địch";
						break;
					case 7: 
						m_textCountGT = 0;
						m_textShowGT.text = "";
						m_textBaseGT = "Vùng Phấn Động ngược lên phía Thọ Đức và xuôi xuống đến Đại Lâm xưa kia là cánh rừng rậm, không có bến đò ngang, nhưng ở đây lòng sông hẹp, giữa sông lại có ghềnh đá Can Vang, quân địch có thể bắc cầu vượt sông. Trại quân Phấn Động có nhiệm vụ bảo vệ đoạn phòng tuyến này, đề phòng quân địch lợi dụng địa hình có lợi để tổ chức vượt sông ";
						
						m_textCountNV = 0;
						m_textShowNV.text = "";
						m_textBaseNV = "Không cho địch qua sông, chặn đứng cuộc tấn công của chúng";
						break;
				}
					break;
			}
			
			m_listChooseItem.m_cicleItem.m_testVisible = false;
			m_SpriteText.visible = true;
			m_textShowGT.visible = false;
			m_textShowNV.visible = false;
			m_backButton.visible = false;
			m_nextButton.visible = false;
			_textGioiThieu.visible = false;
			_textNhiemVu.visible = false;
			m_textNext.visible = false;
			m_textBack.visible = false;
			this.setChildIndex(m_SpriteText, numChildren);
		}
		
		public function HidrenInfo():void
		{
			m_SpriteText.visible = false;
			m_listChooseItem.m_cicleItem.m_testVisible = true;
			m_backText.currentFrame = 0;
			
			m_nextButton.scaleX = 0;
			m_nextButton.scaleY = 0;
			
			m_backButton.scaleX = 0;
			m_backButton.scaleY = 0;
			
			m_textBack.scaleX = 0;
			m_textBack.scaleY = 0;
			
			m_textNext.scaleX = 0;
			m_textNext.scaleY = 0;
			
			m_rung1 = 5;
			m_rung2 = 5;
			m_rung3 = 5;
			m_rung4 = 5;
		
		}
		
		private function onAddedToStage(event:Event):void
		{
			this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
		
		}
		
		private function update(e:Event):void
		{
			ManagerEffect.instance.update(Global.FRAME);
			if (m_testInit == true)
			{
				Init();
				m_testInit = false;
				m_blend = 0;
				m_blendTest = 1;
			}
			
			if (m_testStart == true)
			{
				ZoomSprite(this);
				if (m_SpriteText.visible == true)
				{
					if (m_backText.currentFrame == 4)
					{
						m_textShowGT.visible = true;
						m_textShowNV.visible = true;
						m_backButton.visible = true;
						m_nextButton.visible = true;
						_textGioiThieu.visible = true;
						_textNhiemVu.visible = true;
						m_textNext.visible = true;
						m_textBack.visible = true;
						
						ZoomSprite(m_nextButton);
						ZoomSprite(m_backButton);
						ZoomSprite(m_textBack);
						ZoomSprite(m_textNext);
						if (m_nextButton.scaleX == 1)
						{
							m_rung1 = rung(m_nextButton, m_rung1, 1);
							m_rung2 = rung(m_backButton, m_rung2, 1);
							m_rung3 = rung(m_textBack, m_rung3, 1);
							m_rung4 = rung(m_textNext, m_rung4, 1);
						}
					}
					else
					{
						m_SpriteText.visible = true;
						m_textShowGT.visible = false;
						m_textShowNV.visible = false;
						m_backButton.visible = false;
						m_nextButton.visible = false;
						_textGioiThieu.visible = false;
						_textNhiemVu.visible = false;
						m_textNext.visible = false;
						m_textBack.visible = false;
					}
				}
				
				if (m_SpriteText.visible == true)
				{
					if (m_backText.currentFrame >= 4)
					{
						m_backText.stop();
						m_backText.currentFrame = 4;
					}
					else
						m_backText.play();
				}
				switch (database.instance.m_curStage)
				{
					case 0: 
						if (m_listChooseItem.m_cicleItem.m_baseItem[database.instance.RESULTSTARSTAGE1[0]].alpha <= 1)
						{
							m_listChooseItem.m_cicleItem.m_baseItem[database.instance.RESULTSTARSTAGE1[0]].alpha += 0.02;
						}
						if (m_listChooseItem.m_cicleItem.m_baseItem[database.instance.RESULTSTARSTAGE1[0]].alpha == 1)
						{
							m_blend += 0.1 * m_blendTest;
							if (m_blend >= 1)
							{
								m_blendTest = -1;
								m_blend = 0.9;
							}
							if (m_blend <= 0)
							{
								m_blendTest = 1;
								m_blend = 0.1;
							}
							m_listChooseItem.m_cicleItem.m_baseItem[database.instance.RESULTSTARSTAGE1[0]].filter = BlurFilter.createDropShadow(0, 0, 0xff0000, m_blend, 1, 0.5);
							
						}
						if (m_SpriteText.visible == true && m_textBaseGT != m_textShowGT.text)
						{
							m_textShowGT.text = m_textBaseGT.substring(0, m_textCountGT);
							m_textCountGT += 3;
						}
						if (m_SpriteText.visible == true && m_textBaseNV != m_textShowNV.text)
						{
							m_textShowNV.text = m_textBaseNV.substring(0, m_textCountNV);
							m_textCountNV += 3;
						}
						if (m_listChooseItem.m_cicleItem.m_result != -1 && m_listChooseItem.m_cicleItem.m_testVisible == true && m_listChooseItem.m_cicleItem.m_result <= database.instance.RESULTSTARSTAGE1[0])
						{
							ShowInfo(m_listChooseItem.m_cicleItem.m_result);
							database.instance.m_curLevel = m_listChooseItem.m_cicleItem.m_result;
							m_listChooseItem.m_cicleItem.m_baseItem[m_listChooseItem.m_cicleItem.m_result].m_info.visible = false;
							m_listChooseItem.m_cicleItem.m_result = -1;
							
						}
						break;
					
					case 1: 
						if (m_listChooseItem.m_cicleItem.m_baseItem[database.instance.RESULTSTARSTAGE2[0]].alpha <= 1)
						{
							m_listChooseItem.m_cicleItem.m_baseItem[database.instance.RESULTSTARSTAGE2[0]].alpha += 0.02;
						}
						if (m_listChooseItem.m_cicleItem.m_baseItem[database.instance.RESULTSTARSTAGE2[0]].alpha == 1)
						{
							m_blend += 0.1 * m_blendTest;
							if (m_blend >= 1)
							{
								m_blendTest = -1;
								m_blend = 0.9;
							}
							if (m_blend <= 0)
							{
								m_blendTest = 1;
								m_blend = 0.1;
							}
							m_listChooseItem.m_cicleItem.m_baseItem[database.instance.RESULTSTARSTAGE2[0]].filter = BlurFilter.createDropShadow(0, 0, 0xff0000, m_blend, 1, 0.5);
							
						}
						if (m_SpriteText.visible == true && m_textBaseGT != m_textShowGT.text)
						{
							m_textShowGT.text = m_textBaseGT.substring(0, m_textCountGT);
							m_textCountGT += 3;
						}
						if (m_SpriteText.visible == true && m_textBaseNV != m_textShowNV.text)
						{
							m_textShowNV.text = m_textBaseNV.substring(0, m_textCountNV);
							m_textCountNV += 3;
						}
						if (m_listChooseItem.m_cicleItem.m_result != -1 && m_listChooseItem.m_cicleItem.m_testVisible == true && m_listChooseItem.m_cicleItem.m_result <= database.instance.RESULTSTARSTAGE2[0])
						{
							ShowInfo(m_listChooseItem.m_cicleItem.m_result);
							database.instance.m_curLevel = m_listChooseItem.m_cicleItem.m_result;
							m_listChooseItem.m_cicleItem.m_baseItem[m_listChooseItem.m_cicleItem.m_result].m_info.visible = false;
							m_listChooseItem.m_cicleItem.m_result = -1;
							
						}
						break;
				}
				this.setChildIndex(m_button_Update, this.numChildren);
				this.setChildIndex(m_text_Update, this.numChildren);
				this.setChildIndex(m_ImageButtonBack, this.numChildren);
			}
		}
		public function rung(obj:Object, _rung:int,_buzz:int):int
		{
			if (_rung != 0)
				{
					if (_rung > 0)
					{
						_rung -= 1;
					}
					obj.x += _rung;
					obj.y -= _rung;
					_rung *= -1;
					if(_rung==4&&_buzz==1)
						ManagerEffect.instance.AddEff(new Star_Effect(ManagerEffect.instance.m_layer, new PDParticleSystem(XML(new AssetsParticles.ParticleXML()), Texture.fromBitmap(new AssetsParticles.ParticleTexture())), new Point(obj.x, obj.y), 50));
					if(_rung==4&&_buzz==2)
						ManagerEffect.instance.AddEff(new Star_Effect(ManagerEffect.instance.m_layer, new PDParticleSystem(XML(new AssetsParticles.ParticleXML1()), Texture.fromBitmap(new AssetsParticles.ParticleTexture1())), new Point(obj.x, obj.y), 50));
					return _rung;
				}
				return _rung;
		}
		private function ZoomSprite(obj:Object):void
		{
			if (obj.scaleX < 1)
			{
				obj.scaleX += 0.05;
				obj.scaleY = this.scaleX;
			}
			else
			{
				obj.scaleX = 1;
				obj.scaleY = 1;
			}
		}
		
		private function setDefaultSprite():void
		{
			this.width = 1050;
			this.height = 700;
			this.pivotX = this.width / 2;
			this.pivotY = this.height / 2;
			this.x = this.width / 2;
			this.y = this.height / 2;
			

		}
		public function setCenterPivot(_object:Object):void
		{	
			_object.pivotX = _object.width / 2;
			_object.pivotY = _object.height / 2;
		}
		public function disposeTemporarily():void
		{
			ManagerEffect.instance.ListEff.splice(0, ManagerEffect.instance.ListEff.length);
			database.instance.m_Music.stopSound("ChooseLevel_Music");
			this.removeChildren(0, this.numChildren, false);
			this.scaleX = 0.1;
			this.scaleY = this.scaleX;
			this.visible = false;
			this.m_testStart = false;
		}
	}
}